Information processing method, device, and communications system

ABSTRACT

This application discloses an information processing method. A communication device obtains an input sequence. The input sequence has a quantity B of information bits. The communication devices transforms the input sequence into one or more code blocks. The communication device encodes each of the code blocks individually, to obtain one or more encoded code blocks. Each of the code blocks has a code block length less than or equal to a maximum code block length. Each of the code blocks includes a segment of the input sequence and may include one or more cyclic redundancy check (CRC) bits corresponding to the segment of the input sequence. The encoded code blocks can meet various channel coding requirements.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/CN2018/071643, filed on Jan. 5, 2018, which claims priority toChinese Patent Application No. 201710008135.6, filed on Jan. 5, 2017.The disclosures of the aforementioned patent applications are herebyincorporated by reference in their entireties.

TECHNICAL FIELD

Embodiments of the present application relate to the communicationsfield, and in particular, to an information processing method, a device,and a communications system.

BACKGROUND

In a communications system, information, such as control information ordata information, is usually transmitted between communications devices(for example, between a base station and a terminal) in the form ofinformation sequences. Because the environment for wireless propagationis complex and varied, transmitted information sequences are susceptibleto interference, and errors may occur. To reliably send the informationsequences, a device at a transmitting end performs processing such ascyclic redundancy check (CRC), segmentation and check, channel coding,rate matching, and interleaving on the information sequence, and mapsinterleaved coded bits into modulation symbols and sends the modulationsymbols to a device at a receiving end. After receiving the modulationsymbols, the communications device at the receiving end correspondinglyrestores the modulation symbols to the information sequence throughde-interleaving, de-rate matching, decoding, concatenation, and CRC.These processes can reduce transmission errors, and improve datatransmission reliability.

New channel coding schemes, such as low-density parity-check (LDPC)code, polar code, etc., have been considered to be introduced into thefifth generation (5G) mobile communications system to improveperformance. The LDPC code is a type of linear block code with a sparsecheck matrix, and is characterized by a flexible structure and lowdecoding complexity. Because decoding the LDPC code uses partiallyparallel iterative decoding algorithms, the LDPC code has a higherthroughput than a conventional turbo code. An LDPC code frequently usedin the communications system has a special structural feature, and abase matrix of the LDPC code has m*n elements. If using a lifting factorz for lifting (expansion), a parity check matrix H with (m*z)*(n*z)elements may be obtained. In other words, the parity check matrix Hincludes m*n block matrices. Each block matrix is either a z*z all-zeromatrix or a block matrix obtained by circularly shifting an identitymatrix. The lifting factor z is usually determined based on a code blocksize supported by the system and an information data size.

As different channel coding schemes are used, the communications systemhas different coding capabilities and decoding capabilities. How toprocess an information sequence to meet a channel coding requirement, soas to improve system coding performance and decoding performance becomesa problem to be resolved.

SUMMARY

In view of this, embodiments of the present application provide aninformation processing method, a device, and a communications system, sothat a code block, that is output by performing processes on an inputsequence, can meet channel coding requirements.

According to a first aspect, an information processing method in acommunications system is provided, including: obtaining an inputsequence, wherein a length of the input sequence is B; and obtaining Ccode blocks based on the input sequence and a maximum code block lengthZ in a code block length set, wherein each of the code blocks includesan input bit segment in the input sequence, at least one of the codeblocks includes a cyclic redundancy check (CRC) bit segment whose lengthis L, or includes a filler bit segment, B, Z, and C are integers greaterthan 0, and L is an integer greater than or equal to 0 and less than Z.

Because the maximum code block length in the code block length set isconsidered for the code blocks obtained by performing process on theinput sequence, a code block length requirement for channel coding inputcan be met, and a quantity of code blocks can also be reduced.

In a possible implementation of the foregoing aspect, if B>Z, and eachof the code blocks includes a CRC bit segment whose length is L, thenC=┌B/(Z−L)┐, where ┌x┐ represents rounding to upper integer; and atleast one of the C code blocks includes a segment whose length is K₃,where the segment includes an input bit segment and a CRC bit segment,and K₃=┌(B+C·L)/C┐.

Optionally, the code block including the segment whose length is K₃further includes a filler bit segment whose length is F₃, F₃=I₃−K₃, andI₃ is a minimum code block length greater than or equal to K₃ in thecode block length set.

In another possible implementation based on the foregoingimplementation, at least one of the C code blocks includes a segmentwhose length is K₄, K₄=└(B+C·L)/C┘, where └x┘ represents rounding tolower integer, a quantity of code blocks including the segment whoselength is K₄ is C₄=C·K₃−(B+C·L), and a quantity of code blocks includingthe segment whose length is K₃ is C₃=C−C₄.

Optionally, the code block including the segment whose length is K₄further includes a filler bit segment whose length is F₄, F₄=I₄−K₄, andI₄ is a minimum code block length in code block lengths greater than orequal to K₄ in the code block length set.

In the foregoing manner, in the code blocks obtained by performingprocess on the input sequence, code block lengths of any two code blocksare equal or are two adjacent code block lengths in the code blocklength set, and quantities of valid information bits in the any two codeblocks differ by up to one bit, so that code rates of the code blocksare balanced. These code blocks are used as input for coding ordecoding, so that system performance fluctuation can be avoided.

In another possible implementation of the foregoing aspect, if B≤Z, C=1.A length of a CRC bit segment in the code block is L=0; in other words,the code block includes no CRC bit segment. If a code block length I₀ isa minimum code block length in code block lengths greater than or equalto B in the code block length set, a length of a filler bit segment inthe code block is I₀−B.

In another possible implementation of the foregoing aspect, if aself-check capability is provided in a channel coding scheme, no CRC bitsegment may be added; in other words, L=0. In this case, C=┌B/Z┐, the Ccode blocks include at least one code block in which an input bitsegment has a length of K₅, and K₅=┌B/C┐.

Optionally, the code block in which the input bit segment has the lengthof K₅ further includes a filler bit segment whose length is F₅,F₅=I₅−K₅, and I₅ is a minimum code block length in code block lengthsgreater than or equal to K₅ in the code block length set.

In another possible implementation based on the foregoingimplementation, the C code blocks further include at least one codeblock in which an input bit segment has a length of K₆, K₆=└B/C┘, and inthe C code blocks, a quantity of code blocks in which the input bitsegment has the length of K₆ is C₆=C·K₅−B, and a quantity of code blocksin which the input bit segment has the length of K₅ is C₅=C−C₆.

In the foregoing implementation, the code blocks obtained by performingprocess on the input sequence do not include the CRC bit segment, sothat system CRC overheads can be reduced.

In another possible implementation based on the foregoing aspect, ifL>0, each of the code blocks includes a CRC bit segment. The CRC bitsegment is a parity bit segment generated for an input bit segment ineach of the code blocks, or the CRC bit segment is a parity bit segmentgenerated for an input bit segment and a filler bit segment in each ofthe code blocks.

According to a second aspect, an information processing method in acommunications system is provided, including:

obtaining an input sequence, wherein a length of the input sequence isB;

determining a quantity G of code block groups and a quantity of codeblocks in each code block group based on one of a maximum quantityG_(max) of code block groups and a maximum quantity M of code blocks ineach code block group, the input sequence, and a maximum code blocklength Z in a code block length set; and

obtaining C code blocks based on the input sequence, the quantity G ofcode block groups, and the quantity of code blocks in each code blockgroup.

In a possible implementation of the first aspect or the second aspect,the C code blocks include G code blocks including a CRC bit segment,where G is an integer greater than 0 and less than or equal to C.

In another possible implementation of the first aspect or the secondaspect, the C code blocks belong to G code block groups, each of thecode block groups has one code block including a CRC bit segment, andeach CRC bit segment is a parity bit segment generated for an input bitsegment in at least one code block in one code block group, or each CRCbit segment is a parity bit segment generated for an input bit segmentand a filler bit segment in at least one code block in one code blockgroup.

System CRC overheads can be reduced because CRC bit segments are added,by code block group, to a plurality of code blocks obtained byperforming process on the input sequence. In addition, when an ACKfeedback is performed by code block group, performance is better, andsystem efficiency is improved.

In another possible implementation based on the foregoingimplementation, G=┌B/(M·Z−L)┐ or G=min(┌B/(Z−L)┐,G_(max)), where M is aninteger greater than 0, ┌C/G┐≤M, G_(max)>0, G_(max) is a maximumsupported quantity of code block groups, and C=┌(B+G·L)/Z┐.

In another possible implementation based on the foregoingimplementation, the G code block groups include at least one code blockgroup including C₉ code blocks, and C₉=┌C/G┐.

Optionally, the G code block groups include at least one code blockgroup including C₁₀ code blocks, C₁₀=└C/G┘, a quantity of code blockgroups including C₁₀ code blocks is G₂=G−C₉−C, and a quantity of codeblock groups including C₉ code blocks is G₁=G−G₂.

In the foregoing implementation, any two code block groups differ by upto one code block, so that the code block groups tend to have consistentblock error rates (BLER) and consistent missed detection performance.

According to a third aspect, an information processing method in acommunications system is provided, including:

obtaining C code blocks based on a length of an output sequence and amaximum code block length Z in a code block length set; and

obtaining the output sequence based on the C code blocks, wherein eachof the code blocks includes an output bit segment in the outputsequence, at least one of the code blocks includes a cyclic redundancycheck CRC bit segment whose length is L, or includes a filler bitsegment, B, Z, and C are integers greater than 0, and L is an integergreater than or equal to 0 and less than Z.

According to a fourth aspect, a communications device is provided,including:

an obtaining unit, configured to obtain an input sequence; and

a processing unit, configured to obtain C code blocks based on the inputsequence and a maximum code block length Z in a code block length set,where each of the code blocks includes an input bit segment in the inputsequence, at least one of the code blocks includes a cyclic redundancycheck CRC bit segment whose length is L, or includes a filler bitsegment, B, Z, and C are integers greater than 0, and L is an integergreater than or equal to 0 and less than Z.

The communications device may be configured to perform a methodperformed by a device at a transmitting end described in the foregoingaspects. For details, refer to the description in the foregoing aspects.

In a possible design, the communications device provided in thisapplication may include a corresponding module or unit configured toperform a process of the device at the transmitting end in the foregoingmethod design. The module or unit may be software, hardware, or softwareand hardware.

According to a fifth aspect, a communications device is provided,including:

an obtaining unit, configured to obtain C code blocks based on a lengthof an output sequence and a maximum code block length Z in a code blocklength set; and

a processing unit, configured to obtain the output sequence based on theC code blocks obtained by the obtaining unit, wherein each of the codeblocks includes an output bit segment in the output sequence, at leastone of the code blocks includes a cyclic redundancy check CRC bitsegment whose length is L, or includes a filler bit segment, B, Z, and Care integers greater than 0, and L is an integer greater than or equalto 0 and less than Z.

The communications device may be configured to perform a methodperformed by a device at a receiving end described in the foregoingaspects. For details, refer to the description in the foregoing aspects.

In a possible design, the communications device provided in thisapplication may include a corresponding module or unit configured toperform a behavior of the device at the receiving end in the foregoingmethod design. The module or unit may be software, hardware, or softwareand hardware.

According to a sixth aspect, an embodiment of the present applicationprovides a communications system, and the system includes thecommunications device described in the foregoing aspects.

In addition, an embodiment of the present application provides acomputer storage medium, and the computer storage medium includes aprogram designed to perform the foregoing aspects.

According to the method, the device, and the communications system inthe embodiments of the present application, code blocks that areobtained by performing process on the input sequence can meet code blocklength set requirements in different channel coding schemes, so thatdifferences between code rates of the code blocks are balanced. Thesecode blocks are used for coding or decoding, so that processingperformance of the communications system can be improved.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of a communications system in whichembodiments of the present application may be implemented;

FIG. 2 is a flowchart of an information processing method according toan embodiment of the present application;

FIG. 3 is a schematic structural diagram of a code block according to anembodiment of the present application;

FIG. 4 is a schematic structural diagram of a code block according toanother embodiment of the present application;

FIG. 5 is a schematic diagram of a code block segmentation manneraccording to an embodiment of the present application;

FIG. 6 is a schematic diagram of a code block segmentation manneraccording to another embodiment of the present application;

FIG. 7 is a schematic diagram of a code block segmentation manneraccording to yet another embodiment of the present application;

FIG. 8 is a schematic diagram of a code block segmentation manneraccording to still another embodiment of the present application;

FIG. 9 is a flowchart of an information processing method according toanother embodiment of the present application;

FIG. 10 is a flowchart of an information processing method according toanother embodiment of the present application;

FIG. 11 is a simplified block diagram of the communications device 10shown in FIG. 1; and

FIG. 12 is a simplified block diagram of the communication device 11shown in FIG. 1.

DESCRIPTION OF EMBODIMENTS

The following clearly describes the technical solutions in theembodiments of the present application with reference to theaccompanying drawings.

As shown in FIG. 1, a communications system 100 includes acommunications device 10 and a communications device 11. Information,such as control information or data information, is received and sentbetween the communications device 10 and the communications device 11 inthe form of information sequences. The communications device 10 servesas a device at a transmitting end, and sends the information intransport blocks, and transport block CRC bits are attached to eachtransport block. A transport block to which transport block CRC bits areattached is referred to as an input sequence. If a length of the inputsequence is less than a maximum code block length Z, the input sequenceis inserted with filler bits based on a code block length in a codeblock length set, and is input into an encoder, to perform channelcoding. If a length of the input sequence exceeds a maximum code blocklength Z, the input sequence is divided into a plurality of input bitsegments. Each code block that is input into the encoder includes one ofthe input bit segments. Further, CRC bit segments may be attached tosome or all code blocks to improve error detection performance of thecode blocks. Further, filler bits may be inserted to some or all codeblocks so that a block length of each code block equals an allowablecode block length defined in a block length set. The communicationsdevice 10 performs channel coding such as LDPC code-based coding on eachcode block to obtain a corresponding coded block. Each coded blockincludes a plurality of information bits and a plurality of parity bitsgenerated through coding. The information bits and the parity bits arecollectively referred to as coded bits.

The coded block is stored in a circular buffer of the communicationsdevice 10 after sub-block interleaving, and the communications device 10selects a segment of coded bits from the circular buffer, also referredas a coded bit segment. The coded bit segment is interleaved and mappedinto modulation symbols for sending. During retransmission, thecommunications device 10 selects another coded bit segment from thecircular buffer for sending. If all data in the circular buffer has beentransmitted, coded bits are selected again from a front end of thecircular buffer.

The communications device 11, which is used as a device at a receivingend, demodulates the received modulation symbols, and stores soft valuesof the received coded bit segment in a corresponding position in a softbuffer after de-interleaving. If retransmission occurs, thecommunications device 11 combines soft values of retransmitted coded bitsegments and stores the combined soft values in the soft buffer. Thecombination herein means that if coded bits received in different timesare in a same position, soft values of the coded bits received in thedifferent times are combined. The communications device 11 decodes allsoft values in the soft buffer to obtain a code block in the informationsequence. Because the communications device 11 may obtain a transportblock size, the communications device 11 determines a quantity of codeblocks into which a transport block is segmented and a length of eachcode block. The communications device 11 may obtain an output bitsegment in each code block. If the code block includes a CRC bitsegment, the communications device 11 may further check the output bitsegment in the code block or the output bit segment and a filler bitsegment in the code block by using the CRC bit segment. Thecommunications device 11 concatenates output bit segments into an outputsequence, namely, a transport block, and further checks and concatenatestransport blocks to finally obtain an information sequence. It can belearned that the communications device 11 performs an inverse process ofan information processing method of the communications device 10.

In the embodiments of the present application, the communications device10 may be a network device in a communications system, such as a basestation, and correspondingly, the communications device 11 may be aterminal. Alternatively, the communications device 10 may be a terminalin a communications system, and correspondingly, the communicationsdevice 11 may be a network device in the communications system, such asa base station.

For ease of understanding, some terms involved in this application aredescribed below.

In this application, terms “network” and “system” are ofteninterchangeably used, and meanings of which are conventionallyunderstood.

A terminal is a device having a communication function, and may includea handheld device, an in-vehicle device, a wearable device, a computingdevice, an information processing device connected to a wireless modem,or the like that has a wireless communication function. The terminal mayhave different names in different networks, for example, user equipment,mobile station, subscriber unit, station, cellular phone, personaldigital assistant, wireless modem, wireless communications device,handheld device, laptop computer, cordless phone, and wireless localloop station. For ease of description, these devices are simply referredto as the terminal in this application. A base station (BS) may also bereferred to as a base station device, and is a device deployed in aradio access network to provide a wireless communication function.

The base station may have different names in different wireless accesssystems. For example, a base station in a Universal MobileTelecommunications System (UMTS) network is referred to as a NodeB, abase station in an LTE network is referred to as an evolved NodeB (eNBor eNodeB), or a base station in a 5th generation network may haveanother name. This is not limited in the present application.

FIG. 2 is a flowchart of an information processing method in acommunications system according to an embodiment of the presentapplication. The method may be applied to a device at a transmittingend, and includes the following steps.

201. Obtain an input sequence.

In the embodiments of the present application, the input sequence may bea transport block or a transport block to which transport block CRC bitsare attached. The transport block herein is used to transmit controlinformation or data information. The transport block or the transportblock to which the transport block CRC bits are attached, which isobtained by the device at the transmitting end, may be used as an inputsequence for code block segmentation.

A length of the input sequence is B; in other words, the input sequenceincludes B bits. The B bits may be usually represented as b₀, b₁, . . ., b_(B-1), and B is an integer greater than 0.

202. Obtain C code blocks based on the input sequence obtained in step201 and a maximum code block length Z in a code block length set. Eachof the code blocks includes an input bit segment in the input sequence,and at least one of the code blocks includes a code block cyclicredundancy check CRC bit segment whose length is L, or includes a fillerbit segment.

Both Z and C are integers greater than 0, and L is an integer greaterthan or equal to 0 and less than Z.

The code block length set is usually defined in the system, and includesone or more allowable code block lengths. The maximum code block lengthis Z. Code block length sets may be different in different channelcoding schemes. For example, LDPC coding is used in channel coding, asize of an LDPC base matrix is 34*50, in which 16 columns correspond toinformation bits. A value of a lifting factor z is taken from {8, 10,12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192,224, 256, 320, 384}. Then a code block length in the code block lengthset is 16*z. In other words, as a product of the lifting factor z and aquantity of columns corresponding to the information bits, the maximumcode block length Z is 16*384=6144 bits. It should be noted that theexample does not constitute a limitation.

Each code block obtained by performing code block segmentation on theinput sequence by the device at the transmitting end is an outputsequence of the code block segmentation, and each code block may berepresented as C_(r0), C_(r1), C_(r2), C_(r3), . . . , C_(r(Kr-1)),where r is a code block number, 0≤r<C, and K_(r) is a code block lengthof a code block r, namely, a quantity of bits in the code block r.

In a possible implementation, the input sequence is divided into C inputbit segments based on the maximum code block length Z. In this case, inthe C code blocks, a code block i includes an input bit segment i, acode block j includes an input bit segment j, and so on, where 0≤i, j<C.

In addition to an input bit segment, a code block may optionally includeat least one of a CRC bit segment and a filler bit segment, where alength of the CRC bit segment is L.

A new channel coding scheme, such as the LDPC coding scheme, provides abetter self-check capability and a more flexible manner of CRC bitsegment attachment. For example, a CRC bit segment whose length is L maybe attached to each input bit segment; one CRC bit segment whose lengthis L may be attached to a plurality of input bit segments as a whole; orthe input bit segment is not attached with a CRC bit segment, thus inthis case, L=0. Correspondingly, in C code blocks, each of the codeblocks includes a CRC bit segment, or each code block in G code blocksincludes a CRC bit segment, where G is greater than 0 and less than orequal to C, or none of the code blocks includes a CRC bit segment.

For ease of description, in the embodiments of the present application,a bit segment including an input bit segment and a CRC bit segment in acode block is sometimes referred to as a segment. If a differencebetween a block length K in the code block length set and a length of asegment in a code block is not 0, and K is a minimum code block lengthgreater than or equal to the length of the segment, the code blockfurther includes a filler bit segment. A length of the filler bitsegment is a difference between the allowable block length K and thelength of the segment. The filler bit segment includes one or more bitswhose values are <NULL>, and the bit whose value is <NULL> may also beset to “0” in some systems.

If the code block includes the filler bit segment, the CRC bit segmentmay be a parity bit segment generated for the segment, or may be aparity bit segment generated for the input bit segment. For example, theinput bit segment in the code block may be first checked to generate theCRC bit segment, and then the filler bit segment is inserted. Foranother example, the filler bit segment may be first inserted into thecode block, then the input bit segment and the filler bit segment in thecode block are checked to generate the CRC bit segment, and the CRC bitsegment is attached to the code block. Positions of the input bitsegment, the filler bit segment, and the CRC bit segment in the codeblock are not limited herein. The CRC bit segment may be placed in thelast segment of the code block, such as a code block 1 shown in FIG. 3,or the filler bit segment may be placed in front of the input bitsegment in the code block, such as a code block 2 shown in FIG. 4. Itshould be noted that only examples are described herein, and theexamples do not constitute a limitation in the present application.

Because the maximum code block length in the code block length set isconsidered for the code blocks obtained after the input sequence isprocessed, a code block length requirement for channel coding input canbe met, and a quantity of code blocks can also be reduced.

Due to the C code blocks generated based on the input sequence, eachcode block length needs to be a code block length in the code blocklength set. Code block lengths in the code block length set are arrangedin ascending order or descending order of the lengths. Lengths of anytwo of the C generated code blocks are either equal or two adjacent codeblock lengths in the code block length set, so that code rates of thecode blocks are balanced. Code block segmentation may be implemented ina plurality of manners.

FIG. 5 is a schematic diagram of a code block segmentation manneraccording to an embodiment of the present application. In this manner,only one code block includes a filler bit segment. This is applicable toa case in which two adjacent code block lengths in the code block lengthset have a relatively small difference. As shown in FIG. 5, thesegmentation manner includes the following content.

If B>Z, and each of the code blocks includes the CRC bit segment whoselength is L, then C meets C=┌B/(Z−L)┐, where ┌x┐ represents rounding thenumber x to upper integer. It may be understood that if B/(Z−L) is aninteger, a value of B/(Z−L) is equal to a value of ┌B/(Z−L)┐, and isalso equal to a value of └B/(Z−L)┘, wherein └x┘ represents rounding thenumber x to lower integer, and it may be considered that C meetsC=┌B/(Z−L)┐. In the C code blocks, there are C₁ code blocks whose codeblock lengths are K₁ and C₂ code blocks whose code block lengths are K₂.K₁ is a minimum code block length in code block lengths that meetC·K₁≥(B+C·L) in the code block length set, and K₂ is a maximum codeblock length in code block lengths less than K₁ in the code block lengthset,

${C_{2} = \left\lfloor \frac{{C \cdot K_{1}} - \left( {B + {C \cdot L}} \right)}{K_{1} - K_{2}} \right\rfloor},$

C₁=C−C₂. One of the code blocks whose code block lengths are K₂ includesa filler bit segment, and a length of the filler bit segment isF=C₁·K₁+C₂·K₂−(B+C·L). It may be understood that for rounding up ┌⋅┐ orrounding down └⋅┘ in this application, if a to-be-rounded parameter isan integer, the parameter may be not rounded up or rounded down, or theinteger parameter may be rounded up, or the integer parameter may berounded down, and the results are the same.

It can be learned from FIG. 5 that the input sequence whose length is Bis divided into C input bit segments based on a determined quantity ofcode blocks and determined code block lengths. One of the input bitsegments has a length of K₂−L−F, C₂−1 input bit segments have a lengthof K₂−L, and C₁ input bit segments have a length of K₁−L. There are C₂code blocks whose length is K₂ and there are C₁ code blocks whose lengthis K₁. A length of an input bit segment in a code block whose code blocklength is K₂ and that includes the filler bit segment is K₂−L−F. Alength of an input bit segment in a code block whose code block lengthis K₂ and that includes no filler bit segment is K₂−L. A length of aninput bit segment in the code block whose code block length is K₁ isK₁−L. It should be noted that the position of the filler bit segmentshown in the figure is merely an example, and is not limited to thefirst code block, or is not limited to the beginning of the code block.The filler bit segment may be after the CRC bit segment in the codeblock.

Taking B=32000 bits, Z=6144 bits, L=24 bits, and the LDPC code blocklength set used in the foregoing embodiment as an example, a quantity ofcode blocks is C=┌B/(Z−L)┐=6. A total length after the CRC bit segmentis attached to each code block is B+C·L=32144 bits. The minimum codeblock length K₁ in code block lengths that meet C·K₁≥(B+C·L) in the codeblock length set is 6144 bits, and the maximum code block length K₂ incode block lengths less than K₁ in the code block length set is 5120bits. In this case, six code blocks include two code blocks whose codeblock length is K₁=6144 bits, and four code blocks whose code blocklength is K₂=5120 bits. One of the four code blocks whose code blocklength is K₂ further includes a filler bit segment whose length is 624bits. For example, a first code block whose code block length is K₂ mayinclude the filler bit segment whose length is 624 bits. It should benoted that only examples are described herein, and the examples do notconstitute a limitation.

Optionally, in this manner, if the length of the input sequence meetsB≤Z, C=1. A length of a CRC bit segment in the code block is L=0, i.e.,no CRC bit segment. If a code block length I₀ in the code block lengthset is a minimum code block length in code block lengths greater than orequal to B, a length of a filler bit segment in the code block is I₀−B.

FIG. 6 is a schematic diagram of a code block segmentation manneraccording to another embodiment of the present application.

As shown in FIG. 6, if B>Z, and each of the code blocks includes the CRCbit segment whose length is L, then C=┌B/(Z−L)┐, where ┌x┐ representsrounding the number x to upper integer. A total length of the inputsequence and CRC bit segments is (B+C·L). As described in the foregoingembodiment, a segment includes an input bit segment and a CRC bitsegment. In this case, after balanced segmentation is performed, atleast one of the C code blocks includes a segment which has a length ofK₃, and K₃=┌(B+C·L)/C┐. It can be learned that K₃ is an integer. It maybe understood that when (B+C·L) is divisible by C, (B+C·L)/C is aninteger, and K₃=┌(B+C·L)/C┐=(B+C·L)/C=└(B+C·L)/C┘. In other words, when(B+C·L) is divisible by C, the value of K₃ is equal to a value of(B+C·L)/C. A rounding operation may be not performed on (B+C·L)/C, or(B+C·L)/C may be rounded up or rounded down, and this does not affect aresult of the value of K₃.

The code block in which the segment has the length of K₃ furtherincludes a filler bit segment whose length is F₃, F₃=I₃−K₃, and I₃ is aminimum code block length in code block lengths greater than or equal toK₃ in the code block length set. If F₃ is 0, the code block in which thesegment has the length of K₃ includes no filler bit segment.

Further, at least one of the C code blocks includes a segment whoselength is K₄, and K₄ meets K₄=└(B+C·L)/C┘. In the C code blocks, aquantity of code blocks including the segment whose length is K₄ isC₄=C·K₃−(B+C·L), and a quantity of code blocks including the segmentwhose length is K₃ is C₃=C−C₄. It may be understood that when (B+C·L) isdivisible by C, (B+C·L)/C is an integer, andK₄=┌(B+C·L)/C┐=(B+C·L)/C=└(B+C·L)/C┘. In other words, when (B+C·L) isdivisible by C, the value of K₄ is equal to a value of (B+C·L)/C. Arounding operation may be not performed on (B+C·L)/C, or (B+C·L)/C maybe rounded up or rounded down, and this does not affect a result of K₄.

If (B+C·L)%C=0, and % represents a modulo operation, in other words,when (B+C·L) is divisible by C, K₄=K₃, and ┌(B+C·L)/C┐ is equal to└(B+C·L)/C┘. In other words, K₃ or K₄ is equal to (B+C·L)/C. Each of theC code blocks includes the segment whose length is K₃ or K₄; in otherwords, there are C code blocks in which the segment has the length of K₃or K₄.

The code block in which the segment has the length of K₄ furtherincludes a filler bit segment whose length is F₄, F₄=I₄−K₄, and I₄ is aminimum code block length in code block lengths greater than or equal toK₄ in the code block length set. If F₄ is 0, the code block in which thesegment has the length of K₄ includes no filler bit segment.

It can be learned from FIG. 6 that the input sequence whose length is Bis divided into C input bit segments based on a determined quantity ofcode blocks and determined code block lengths. C₄ input bit segmentshave a length of K₄−L, and C₃ input bit segments have a length of K₃−L.There are C₄ code blocks in which the segment has the length of K₄ andwhose code block length is I₄, and there are C₃ code blocks in which thesegment has the length of K₃ and whose code block length is I₃. A lengthof an input bit segment in the code block in which the segment has thelength of K₄ is K₄−L, and a length of an input bit segment in the codeblock in which the segment has the length of K₃ is K₃−L. The filler bitsegments are well distributed in all the code blocks. It should be notedthat a location of the filler bit segment shown in the figure is merelyan example, and is not limited to a middle position of the code block.The filler bit segment may be placed before the input bit segment in thecode block, or may be placed after the CRC bit segment in the codeblock.

Still using the above example of B=32000 bits, L=24 bits, and the sameforegoing LDPC code block length set for illustration. A quantity ofcolumns corresponding to information bits (information-bit-column) in anLDPC base matrix is 16, a maximum code block length in the code blocklength set is Z=16*384=6144 bits, and a quantity of blocks isC=┌B/(Z−L)┐=6. A total length after the CRC bit segment is attached toeach code block is B+C·L=32144 bits. After balanced segmentation isperformed, K₃ is 5358 bits, and K₄ is 5357 bits. After the segmentation,two code blocks in which a segment has a length of 5358 bits and fourcode blocks in which a segment has a length of 5357 bits are obtained. Aminimum code block length I₃ in code block lengths greater than or equalto K₃ is 6144 bits, and an lifting factor z of an LDPC matrix used forchannel encoding the code blocks in which the segment has the length ofK₃ is a minimum value 384 in lifting factors greater than or equal to┌K₃/16┐. A minimum code block length I₄ in code block lengths greaterthan or equal to K₄ is 6144 bits, and a lifting factor z of an LDPCmatrix used for channel encoding the code blocks in which the segmenthas the length of K₄ is a minimum value 384 in lifting factors greaterthan or equal to ┌K₄/16┐. Correspondingly, a length of a filler bitsegment in the code blocks in which the segment has the length of 5358bits is 786 bits, and a length of a filler bit segment in the codeblocks in which the segment has the length of 5357 bits is 787 bits.

B=25604 bits, L=24 bits, and the foregoing LDPC code block length setare used as another example. Z=16*384=6144 bits, a quantity of blocks isC=┌B/(Z−L)┐=5, and a length of each code block to which the CRC bitsegment is attached is B+C·L=25604 bits. After balanced segmentation isperformed, K₃ is 5121 bits, and K₄ is 5120 bits. After the segmentation,four code blocks in which a segment has a length of 5121 bits and fourcode blocks in which a segment has a length of 5120 bits are obtained. Aminimum code block length I₃ in code block lengths greater than or equalto K₃ is 6144 bits, and a lifting factor z in an LDPC matrix used forchannel encoding the code blocks in which the segment has the length ofK₃ is a minimum value 384 in lifting factors greater than or equal to┌K₃/16┐. A minimum code block length I₄ in code block lengths greaterthan or equal to K₄ is 5120 bits, and a lifting factor z in an LDPCmatrix used for channel encoding the code blocks in which the segmenthas the length of K₄ is a minimum lifting factor 320 in lifting factorsgreater than or equal to ┌K₄/16┐. Correspondingly, a length of a fillerbit segment in the code blocks in which the segment has the length of5358 bits is 1023 bits, and a length of a filler bit segment in the codeblocks in which the segment has the length of 5357 bits is 0 bits.

It should be noted that only examples are described above, and theexamples do not constitute a limitation.

Optionally, in this manner, if the length of the input sequence meets BZ, then C=1. A length of a CRC bit segment in the code block is L=0; inother words, the code block includes no CRC bit segment. If a code blocklength I₀ in the code block length set is a minimum code block length incode block lengths greater than or equal to B, a length of a filler bitsegment in the code block is I₀−B.

Input bits and CRC bits included in a code block are also usuallyreferred to as valid information bits, and a quantity of validinformation bits is a numerator for calculating a code rate of the codeblock. When adjacent code block lengths in the code block length sethave a relatively large difference, if one code block includes a largequantity of filler bits, and the other code block includes no fillerbit, there is a relatively large difference between quantities of validinformation bits in the two different code blocks. Further, lengths ofsequences output after coding and rate matching are performed on codeblocks are usually the same or balanced; in other words, denominatorsfor calculating code rates of the code blocks are basically the same.Consequently, there is a relatively large difference between the coderates of the code blocks, thus overall performance deteriorates duringsystem coding or decoding. In the foregoing manners, in the code blocksobtained after the input sequence is processed, code block lengths ofany two code blocks are either equal or two adjacent code block lengthsin the code block length set, quantities of valid information bits inthe any two code blocks differ by up to one bit, and filler bit segmentsare well distributed in the code blocks, so that the code rates of thecode blocks are balanced. These code blocks are used as input for codingor decoding, so that system performance fluctuation can be avoided.

FIG. 7 is a schematic diagram of a code block segmentation manneraccording to yet another embodiment of the present application. In thismanner, no CRC bit segment is added to each code block; in other words,L=0.

As shown in FIG. 7, a quantity of code blocks is C=┌B/Z┐, the C codeblocks include at least one code block in which an input bit segment hasa length of K₅, and K=┌B/C┐.

The code block in which the input bit segment has the length of K₅further includes a filler bit segment whose length is F₅, F₅=I₅−K₅, and15 is a minimum code block length in code block lengths greater than orequal to K₅ in the code block length set.

The C code blocks further include at least one code block in which aninput bit segment has a length of K₆, K₆=└B/C┘, and the C code blocksinclude C₆ code blocks in which the input bit segment has the length ofK₆, where C=C·K₅−B, and C₅ code blocks in which the input bit segmenthas the length of K₅, where C₅C−C₆.

If B%C=0, and % represents a modulo operation, K₆=K₅, and each of the Ccode blocks includes the input bit segment whose length is K₅; in otherwords, there are C code blocks in which the input bit segment has thelength of K₅.

The code block in which the input bit segment has the length of K₆further includes a filler bit segment whose length is F₆, F₆=I₆−K₆, andI₆ is a minimum code block length in code block lengths greater than orequal to K₆ in the code block length set.

It can be learned from FIG. 7 that the input sequence whose length is Bis divided into C input bit segments based on a determined quantity ofcode blocks and determined code block lengths. C₆ input bit segmentshave a length of K₆, and C₅ input bit segments have a length of K₅.There are C₆ code blocks in which the input bit segment has the lengthof K₆ and whose code block lengths are I₆, and there are C₅ code blocksin which the input bit segment has the length of K₅ and whose code blocklengths are I₅. The filler bit segments are well distributed in all thecode blocks. It should be noted that a location of the filler bitsegment shown in the figure is merely an example, and is not limited tothe end of the code block. The filler bit segment may be before theinput bit segment in the code block, or may be after the input bitsegment in the code block.

B=32000 bits and the foregoing LDPC code block length set are still usedin another example. Z=16*384=6144 bits, and a quantity of blocks isC=┌B/Z┐=6. After balanced segmentation is performed, K₅ is 5334 bits, K₆is 5333 bits, there are four code blocks in which an input bit segmenthas a length of K₅, there are two code blocks in which an input bitsegment has a length of K₆, and I₅=I₆=6144 bits. Correspondingly, alength of a filler bit segment in the code block in which the input bitsegment has the length of K₅ is 810 bits, and a length of a filler bitsegment in the code block in which the input bit segment has the lengthof K₆ is 811 bits. It should be noted that only examples are describedherein, and the examples do not constitute a limitation.

If a better self-check capability is provided in channel coding, thecode blocks, obtained after the input sequence is processed, do notinclude the CRC bit segment, so that system CRC overheads can bereduced.

FIG. 8 is a schematic diagram of a code block segmentation manneraccording to still another embodiment of the present application. Themanner may be applied to a scenario in which one CRC bit segment isadded to a plurality of input bit segments. In this case, the C codeblocks include G code blocks having the CRC bit segment, where G is aninteger greater than 0 and less than or equal to C.

As shown in FIG. 8, the C code blocks belong to G code block groups, anda quantity of code block including the CRC bit segment in each codeblock group is one. The CRC bit segment in any code block group may be aparity bit segment generated for an input bit segment in at least onecode block in the code block group. Or, the CRC bit segment may be aparity bit segment generated for an input bit segment and a filler bitsegment in at least one code block in the code block group. For example,the CRC bit segment may be a parity bit segment generated only for aninput bit segment in the code block to include the CRC bit segment, ormay be a parity bit segment generated for input bit segments in all codeblocks in a code block group, may be a parity bit segment generated onlyfor an input bit segment and a filler bit segment in the code blockincluding the CRC bit segment, or may be a parity bit segment generatedfor input bit segments and filler bit segments in all code blocks in acode block group. It should be noted that this is not limited in thisembodiment of the present application.

System CRC overheads can be reduced because CRC bit segments areattached, by code block group, to a plurality of code blocks obtainedafter the input sequence is processed. In addition, when ACK feedback isperformed by code block group, performance is better, and systemefficiency is improved.

In a possible implementation, the input sequence is segmented into Cinput bit segments, and the C input bit segments are divided into Ggroups. In this case, code blocks including a corresponding input bitsegment in one group are in one code block group. In other words, the Ccode blocks belong to the G code block groups.

In another possible implementation, the input sequence is divided into Gbit groups, and each bit group is further segmented to obtain a total ofC input bit segments. Code blocks including input bit segments in a samebit group are in one code block group, so that the C code blocks belongto the G code block groups.

In an embodiment of the present application, a quantity G of code blockgroups may be determined based on a maximum quantity M of code blocksincluded in one code block group, for example, G=┌B/(M·Z−L)┐,C=┌(B+G·L)/Z┐, G is an integer greater than 0 and less than or equal toC, M is an integer greater than 0, and ┌C/G┐≤M.

For example, B=92000, Z=6144, L=24, and M is 4. A first grouping resultmay be obtained: G=4 and C=15; in other words, four code block groupsand 15 code blocks may be obtained based on the input sequence.

In another embodiment of the present application, a quantity G of codeblock groups may be determined based on a maximum quantity G_(max) ofcode block groups, for example, G=min(┌B/(Z−L)┐, G_(max)), andG_(max)>0; and if G<G_(max), C=G; or if G=G_(max), C=┌(B+G·L)/Z┐.

For example, B=92000, Z=6144, L=24, and G_(max) is 4. A second groupingresult may be obtained: G=4 and C=15; in other words, four code blockgroups and 15 code blocks may be obtained based on the input sequence.

According to the foregoing embodiment, the G code block groups includeat least one code block group which includes C₉ code blocks, whereC₉=┌C/G┐. The G code block groups further include at least one codeblock group which includes C₁₀ code blocks, where C₁₀=└C/G┘. A quantityof code block groups including C₁₀ code blocks is G₂=G·C₉−C, and aquantity of code block groups including C₉ code blocks is G₁C=G−G₂, sothat code block quantities of the code block groups are balanced.

The first grouping result or the second grouping result in the foregoingexample is used as an example. Therefore, C₉=4, C₁₀=3, there are threecode block groups, each including four code blocks, and there is onecode block group including three code blocks. The 15 code blocks aredivided into four code block groups that separately include three codeblocks, four code blocks, four code blocks, and four code blocks.

In the method in the foregoing embodiment, code block counts of any twoof the code block groups obtained by grouping can differ by up to one,so that the code block groups tend to have consistent block error rates(BLER) and consistent leakage detection performance.

In another embodiment of the present application, to enable all codeblock groups to have balanced input bit segment length and balanced CRCbit segment lengths, the G code block groups include at least one codeblock group which includes C₉ code blocks, where C₉=r┌P₁/Z┐, andP₁=┌(B+G·L)/G┐. The G code block groups further include at least onecode block group which includes C₁₀ code blocks, where C₁₀=┌P₂/Z┐,P₂=└(B+G·L)/G┘. A quantity of code block groups including C₁₀ codeblocks is G₄ G·P₁−(B+G·L), and a quantity of code block groups includingC₉ code blocks is G₃=G−G₄. A quantity G of code block groups may bedetermined based on a maximum quantity M of code blocks included in onecode block group, for example, G=┌B/(M·Z−L)┐, or a quantity G of codeblock groups may be determined based on a maximum quantity G_(max) ofcode block groups, for example, G=min(┌B/(Z−L)┐, G_(max)).

For example, B=92000, Z=6144, L=24, and M is 4. G=4, P₁=P₂=23024,C₉=C₁₀=4, each code block group includes four code blocks, and there are16 code blocks in total.

In the method in the foregoing embodiment, quantities of validinformation bits included in all the block groups obtained by groupingdiffer by up to one bit.

It can be learned from FIG. 8 that the input sequence whose length is Bis segmented into C input bit segments based on a determined quantity ofcode blocks, a determined quantity of code block groups, and determinedcode block lengths, the C code blocks belong to the G code block groups,and a CRC bit segment whose length is L is attached to one code block ineach code block group. Each of G₂ code block groups includes C₁₀ codeblocks, and each of G₁ code block groups includes C₉ code blocks.

It should be noted that the foregoing descriptions are examples, and theexamples do not constitute a limitation in the present application.

Optionally, in this manner, if the length of the input sequence meetsB≤M·Z, G=1. A length of a CRC bit segment in the C code blocks is L=0;in other words, none of the code blocks includes the CRC bit segment.For code block segmentation, refer to FIG. 7, and details are notdescribed herein again.

FIG. 9 is a flowchart of an information processing method in acommunications system according to another embodiment of the presentapplication. The method may be applied to a device at a transmittingend, and includes the following steps.

901. Obtain an input sequence, where a length of the input sequence isB.

902. Determine a quantity G of code block groups and a quantity of codeblocks in each code block group based on one of a maximum quantityG_(max) of code block groups and a maximum quantity M of code blocks ineach code block group, the input sequence, and a maximum code blocklength Z in a code block length set.

For an implementation of obtaining G code block groups based on themaximum quantity G_(max) of code block groups, the input sequence, andthe maximum code block length Z, or obtaining G code block groups basedon the maximum quantity M of code blocks in each code block group, theinput sequence, and the maximum code block length Z, and determining thequantity of code blocks in each code block group, the foregoingsegmentation implementations described in FIG. 8 may be referred to, anddetails are not described herein again.

903. Obtain C code blocks based on the input sequence, the quantity G ofcode block groups, and the quantity of code blocks in each code blockgroup.

A quantity C of code blocks may be obtained based on the quantity G ofcode block groups and the quantity of code blocks in each code blockgroup. The input sequence is segmented to C input bit segments, and eachcode block includes one of the input bit segments. Each code block groupincludes one code block to which a CRC bit segment is attached. A CRCbit segment in any code block group may be a parity bit segmentgenerated for an input bit segment in at least one code block in thecode block group, or may be a parity bit segment generated for an inputbit segment and a filler bit segment in at least one code block in thecode block group.

To ensure that the code blocks are balanced, lengths of the code blocksmay be determined based on a length (B+G·L) of the input sequence towhich G CRC bit segments are attached, and code block segmentation isperformed based on the lengths of the code blocks.

For ease of description, in this embodiment of the present application,bits other than a filler bit segment included in each code block arereferred to as a mixed segment. It can be learned that the mixed segmentincludes either an input bit segment, or, an input bit segment and a CRCbit segment. In one code block group, a mixed segment in only one codeblock includes the input bit segment and the CRC bit segment, and amixed segment in another code block includes only the input bit segment.

At least one of the C code blocks includes a mixed segment whose lengthis K₇, and K₇=┌(B+G·L)/C┐.

The code block in which the mixed segment has the length of K₇ furtherincludes a filler bit segment whose length is F₇, F₇=I₇−K₇, and I₇ is aminimum code block length in code block lengths greater than or equal toK₇ in the code block length set.

Further, at least one of the C code blocks includes a mixed segmentwhose length is K₈, K₈=└(B+G·L)/C┘, and in the C code blocks, a quantityof code blocks including the mixed segment whose length is K₈ isC₈=C·K₇−(B+G·L), and a quantity of code blocks including the mixedsegment whose length is K₇ is C₇=C−C₈.

If (B+G·L)%C=0, and % represents a modulo operation, then K₈=K₇, andeach of the C code blocks includes an input bit segment whose length isK₇ or the mixed segment whose length is K₇. In other words, there are Ccode blocks in which the mixed segment has the length of K₇.

The code block in which the mixed segment has the length of K₈ furtherincludes a filler bit segment whose length is F₈, F₈=I₈−K₈, and I₈ is aminimum code block length in code block lengths greater than or equal toK₈ in the code block length set.

For example, B=92000, M=4, Z=6144, and L=24. In this case, a quantity ofcode block groups is G=r┌B/(M·Z−L)┐, G=4, a quantity of code blocks isC=┌(B+G·L)/Z┐, and C=15. The 15 code blocks are divided into four codeblock groups that separately include three code blocks, four codeblocks, four code blocks, and four code blocks. After balancedsegmentation is performed, K₇ is 6140 bits, K₈ is 6139 bits, there are11 code blocks in which the mixed segment has the length of K₇, andthere are four code blocks in which the mixed segment has the length ofK₈. A length of a filler bit segment in the code block in which themixed segment has the length of K₇ is four bits, and a length of afiller bit segment in the code block in which the mixed segment has thelength of K₈ is five bits. For example, a length of mixed segments inthe 11 code blocks in groups 0 to 2 may be 6140 bits, and a length ofmixed segments in the four code blocks in group 3 may be 6139 bits.Table 1 shows an example of a length of an input bit segment, a lengthof a CRC bit segment, and a length of a filler bit segment in each codeblock in this block segmentation manner. Certainly, a length of mixedsegments in code blocks 0 to 3 may be 6139 bits, and a length of mixedsegments in code blocks 4 to 14 may be 6140 bits.

TABLE 1 An Example of Code Block Segmentation Code Length (bits) Length(bits) Length (bits) Group block of an input of a CRC of a filler numbernumber bit segment bit segment bit segment 0 0 6140 0 4 1 6140 0 4 26116 24 4 1 3 6140 0 4 4 6140 0 4 5 6140 0 4 6 6116 24 4 2 7 6140 0 4 86140 0 4 9 6140 0 4 10 6116 24 4 3 11 6139 0 5 12 6139 0 5 13 6139 0 514 6115 24 5

It should be noted that the foregoing descriptions are examples, and theexamples do not constitute a limitation.

CRC bits are attached by code block group, so that CRC check overheadscan be reduced, and system performance can be further improved. If ahybrid automatic repeat request (HARQ) is used in a system to feed backacknowledgement/negative acknowledgement (ACK/NACK) information bygroup, CRC attachment based on the code block group can reduce feedbacksignaling overheads and improve system transmission efficiency.

According to the information processing methods in the foregoingembodiments, a communications device 10 may further encode each of the Ccode blocks to obtain coded blocks. The communications device 10 mayencode each code block in a channel coding scheme used in the system, tobe specific, perform encoding by using each output sequence c_(r0),c_(r1), c_(r2), c_(r3), L, c_(r(K) _(r) ₋₁₎ in step 202 as an inputsequence for an encoder, for example, perform LDPC coding or polarcoding. This is not limited thereto. After encoding the code block, thecommunications device 10 sends the coded block to a device at areceiving end.

FIG. 10 shows an information processing method in a communicationssystem according to another embodiment of the present application. Themethod may be applied to a device at a receiving end. As shown in FIG.10, the method includes the following steps.

1001. Obtain C code blocks based on a length of an output sequence and amaximum code block length Z in a code block length set.

In the embodiments of the present application, the output sequence maybe a transport block or a transport block to which transport block CRCis attached. The transport block herein may be obtained by performingblock segmentation on an information sequence based on a transport blocksize, and is configured to transmit control information or datainformation. The transport block or the transport block to which thetransport block CRC is attached that is obtained by the device at thereceiving end based on the received code blocks may be used as theoutput sequence for code block concatenation. Because a processperformed by a device at a transmitting end and a process performed bythe device at the receiving end are inverse to each other, the outputsequence on which the device at the receiving end performs code blockconcatenation is equivalent to an input sequence on which thetransmitting end device performs code block segmentation.

A communications device 11 may obtain a received transport block size,namely, the length of the output sequence, and obtain the maximum codeblock length Z in the code block length set, to determine a quantity Cof code blocks in the output sequence.

The communications device 11 receives C coded blocks sent by acommunications device 10, and obtains the C code blocks after a decoderdecodes the C coded blocks.

1002. Obtain the output sequence based on the C code blocks obtained instep 1001.

Each code block includes an output bit segment in the output sequence,and at least one code block includes a cyclic redundancy check CRC bitsegment whose length is L, or includes a filler bit segment. B, Z, and Care integers greater than 0, and L is an integer greater than or equalto 0 and less than Z.

In step 1001, in addition to determining the quantity of code blocks,the communications device 11 may determine lengths of the code blocks, alength of the output bit segment in the code block, the length L of theCRC bit segment, and a length of the filler bit segment. For details,refer to examples of code block segmentation in the embodiments shown inFIG. 5 to FIG. 8, and the examples describe how to determine thequantity of code blocks, a length of a code block, a length L of a CRCbit segment, and a length of a filler bit segment. Details are notdescribed herein again. The communications device 11 obtains output bitsegments from the code blocks, and then concatenates the output bitsegments to obtain the output sequence.

In addition to the output bit segment, the code block includes the CRCbit segment whose length is L. If the CRC bit segment is a parity bitsegment generated for the output bit segment in the code block, thecommunications device 11 checks the output bit segment in the code blockbased on the CRC bit segment. If the check succeeds, the communicationsdevice 11 determines that the output bit segment in the code block iscorrect and may be further concatenated to another output bit segmentthat passes the check. If the CRC bit segment is a parity bit segmentgenerated for the output bit segment and the filler bit segment in thecode block, the communications device 11 checks the output bit segmentand the filler bit segment in the code block based on the CRC bitsegment. If the check succeeds, the communications device 11 determinesthat the output bit segment and the filler bit segment in the code blockare correct, and further concatenates the output bit segment in the codeblock to another output bit segment that passes the check. If the CRCbit segment is a parity bit segment generated for output bit segments ina plurality of code blocks, the communications device 11 checks theoutput bit segments in these code blocks based on the CRC bit segment.If the check succeeds, the communications device 11 concatenates theseoutput bit segments to another output bit segment that passes the check.If the CRC bit segment is a parity bit segment generated for output bitsegments and filler bit segments in a plurality of code blocks, thecommunications device 11 checks the output bit segments and the fillerbit segments in these code blocks based on the CRC bit segment. If thecheck succeeds, the communications device 11 concatenates these outputbit segments to another output bit segment that passes the check.

The method performed by the communications device 11 is an inverseprocess performed by the communications device 10. For a quantity ofcode blocks, a length of the code block, a length of the filler bitsegment, and attachment of the CRC bit segment, refer to examples ofcode block segmentation described in FIG. 5 to FIG. 8. The onlydifference is that the output sequence and the output bit segment forthe communications device 11 are corresponding to the input sequence andthe input bit segment for the communications device 10. Becauseinformation processing methods and effects have been described in theforegoing embodiments, details are not described herein again.

FIG. 11 is a block diagram of the communications device 10 shown inFIG. 1. The communications device 10 includes an obtaining unit 101 anda processing unit 102.

The obtaining unit 101 is configured to obtain an input sequence. Theprocessing unit 102 is configured to obtain C code blocks based on theinput sequence and a maximum code block length Z in a code block lengthset. Each of the code blocks includes an input bit segment in the inputsequence, at least one of the code blocks includes a cyclic redundancycheck CRC bit segment whose length is L, or includes a filler bitsegment, B, Z, and C are integers greater than 0, and L is an integergreater than or equal to 0 and less than Z. The communications devicemay be configured to implement the foregoing method embodiments. Referto the description in the foregoing method embodiments, and details arenot described herein again.

The communications device 10 may further include an encoding unit 103(not shown in FIG. 11). The encoding unit 103 may also be referred to asan encoder, an encoding circuit, or the like, and is mainly configuredto encode the code blocks output by the processing unit 102, forexample, perform LDPC coding on each of the C code blocks in theforegoing embodiment.

The communications device 10 may further include a transceiver unit 104(not shown in FIG. 11), and the transceiver unit 104 may also bereferred to as a transceiver, a transceiver circuit, or the like. Thetransceiver unit 104 is mainly configured to transmit and receive aradio frequency signal, for example, is configured to send, to thecommunications device 11, a coded block that is coded by the encodingunit 103.

The communications device 10 may further include another unit, forexample, a unit configured to generate transport block CRC, a ratematching unit, an interleaving unit, and a modulation unit, which may beseparately configured to implement corresponding functions.

It should be noted that the communications device 10 may include one ormore memories and processors to implement functions of thecommunications device. The memory and the processor may be disposed oneach unit. Alternatively, a plurality of units may share a same memoryand a same processor.

FIG. 12 is a block diagram of a communications device 11 shown inFIG. 1. The communications device 11 includes an obtaining unit 111 anda processing unit 112.

The obtaining unit 111 is configured to obtain C code blocks based on alength of an output sequence and a maximum code block length Z in a codeblock length set.

The processing unit 112 is configured to obtain the output sequencebased on the C code blocks obtained by the obtaining unit 111, whereeach of the code blocks includes an output bit segment in the outputsequence, at least one of the code blocks includes a cyclic redundancycheck CRC bit segment whose length is L, or includes a filler bitsegment, B, Z, and C are integers greater than 0, and L is an integergreater than or equal to 0 and less than Z.

The obtaining unit 111 and the processing unit 112 may be configured toimplement the method in the foregoing method embodiments. For details,refer to the description in the foregoing method embodiments, anddetails are not described herein again.

The communications device 11 may further include a decoding unit 113(not shown in FIG. 12). The decoding unit 113 may also be referred to asa decoder, a decoding circuit, or the like, and is mainly configured todecode coded blocks received by a transceiver unit 114 (not shown inFIG. 12).

The communications device 11 may further include the transceiver unit114, and the transceiver unit 114 may also be referred to as atransceiver, a transceiver circuit, or the like. The transceiver unit114 is mainly configured to transmit and receive a radio frequencysignal, for example, is configured to receive a coded block that is sentby the communications device 10 and that is in the foregoing methodembodiments.

The communications device 11 may further include another unit, forexample, a unit configured to perform transport block CRC, a de-ratematching unit, a de-interleaving unit, and a demodulation unit, whichmay be separately configured to implement corresponding functions of thecommunications device.

It should be noted that the communications device 11 may include one ormore memories and processors to implement functions of thecommunications device. The memory and the processor may be disposed oneach unit. Alternatively, a plurality of units may share a same memoryand a same processor.

Various illustrative logical blocks and steps that are listed in theembodiments of the present application may be implemented by usingelectronic hardware, computer software, or a combination thereof.Whether the functions are implemented by using hardware or softwaredepends on particular applications and a design requirement of an entiresystem. Various methods may be used to implement the described functionsfor each particular application, but it should not be considered thatthe implementation goes beyond the scope of the embodiments of thepresent application.

The various illustrative logical units and circuits described in theembodiments of the present application may implement or operate thedescribed functions by using a general purpose processor, a digitalsignal processor, an application-specific integrated circuit (ASIC), afield programmable gate array (FPGA) or another programmable logicalapparatus, a discrete gate or transistor logic, a discrete hardwarecomponent, or a design of any combination thereof. The general purposeprocessor may be a microprocessor. Optionally, the general purposeprocessor may also be any conventional processor, controller,microcontroller, or state machine. The processor may alternatively beimplemented by a combination of computing apparatuses, such as a digitalsignal processor and a microprocessor, a plurality of microprocessors,one or more microprocessors together with a digital signal processorcore, or any other similar configuration.

Steps of the methods or algorithms described in the embodiments of thepresent application may be directly embedded into hardware, a softwareunit executed by the processor, or a combination thereof. The softwareunit may be stored in a RAM memory, a flash memory, a ROM memory, anEPROM memory, an EEPROM memory, a register, a hard disk, a removablemagnetic disk, a CD-ROM, or a storage medium of any other form in theart. For example, the storage medium may connect to the processor, sothat the processor may read information from the storage medium andwrite information to the storage medium. Alternatively, the storagemedium may be integrated into the processor. The processor and thestorage medium may be arranged in an ASIC, and the ASIC may be arrangedin a terminal device or a network device. Optionally, the processor andthe storage medium may be arranged in different components of theterminal device or the network device.

When the present application is implemented by software, the foregoingfunctions may be stored in a computer-readable medium or transmitted asone or more instructions or code in the computer-readable medium. Thecomputer-readable medium includes a computer storage medium as describedabove. In addition, any connection may be appropriately defined as acomputer-readable medium. For example, if software is transmitted from awebsite, a server, or another remote source by using a coaxial cable, anoptical fiber/cable, a twisted pair, a digital subscriber line (DSL), orwireless technologies such as infrared ray, radio and microwave, thecoaxial cable, optical fiber/cable, twisted pair, DSL or wirelesstechnologies such as infrared ray, radio and microwave are included infixation of a medium to which they belong.

In summary, what is described above is merely example embodiments of thetechnical solutions of the present application, but is not intended tolimit the protection scope of the present application. Any modification,equivalent replacement, or improvement made without departing from thespirit and principle of the present application shall fall within theprotection scope of the present application.

What is claimed is:
 1. An information processing method in acommunication system, comprising: obtaining, by a communication device,an input sequence, wherein the input sequence comprises a quantity B ofinformation bits, and B≥1; transforming, by the communication device,the input sequence into a quantity C of code blocks, wherein C is aninteger greater than or equal to 1; and encoding, by the communicationdevice, each of the C code blocks individually, to obtain C encoded codeblocks; wherein each of the C code blocks has a code block length lessthan or equal to a maximum code block length of Z bits; wherein each ofthe C code blocks comprises a segment of the input sequence and aquantity L of cyclic redundancy check (CRC) bits corresponding to thesegment of the input sequence; and wherein L is greater than or equal to0.
 2. The method according to claim 1, wherein the quantity of codeblocks C is determined by:C=┌B/(Z−L)┐, where ┌x┐ represents rounding number x to upper integer;wherein at least one of the C code blocks comprises a quantity K₃ ofbits, K₃ is a combined length of the segment of the input sequence andthe L CRC bits, and K₃ is determined by:K ₃=┌(B+C·L)/C┐.
 3. The method according to claim 2, wherein when(B+C·L) is divisible by C, each of the C code blocks comprises K₃ bits.4. The method according to claim 2, wherein the code block(s) comprisingK₃ bits further comprise(s) a quantity F₃ of filler bit(s), F₃ isgreater than 0, andF ₃ +K ₃ =I ₃, wherein I₃ is a minimum value of code block lengthsgreater than K₃ in a code block length set.
 5. The method according toclaim 2, wherein the code block(s) comprising K₃ bits furthercomprise(s) a quantity F₃ of filler bit(s), F₃ is greater than 0, andF ₃ +K ₃ =I ₃, wherein I₃ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum value in lifting factorsgreater than or equal to ┌K₃/X┐.
 6. The method according to claim 2,wherein the code block(s) comprising K₃ bits further comprise(s) aquantity F₃ of filler bit(s), F₃ is greater than 0, andF ₃ +K ₃ =I ₃, wherein I₃ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum lifting factor that makesI₃ meet I₃≥K₃.
 7. The method according to claim 4, wherein in the codeblock(s) comprising K₃ bits, the F₃ filler bit(s) is/are placed afterthe L CRC bits.
 8. The method according to claim 1, wherein the quantityof code blocks C is determined by:C=┌B/(Z−L)┐, where ┌x┐ represents rounding number x to upper integer;wherein when (B+C·L) is divisible by C, at least one of the C codeblocks comprises a quantity K₃ of bits, K₃ is a combined length of thesegment of the input sequence and the L CRC bits, and K₃ is determinedby:K ₃=(B+C·L)/C.
 9. The method according to claim 1, wherein the quantityof code blocks C is determined by:C=┌B/(Z−L)┐, where ┌x┐ represents rounding number x to upper integer;wherein at least one of the C code blocks comprises a quantity K₄ ofbits, K₄ is a combined length of the segment of the input sequence andthe L CRC bits, and K₄ is determined by:K ₄=└(B+C·L)/C┘, where └x┘ represents rounding number x to lowerinteger.
 10. The method according to claim 9, wherein the code block(s)comprising K₄ bits further comprise(s) a quantity F₄ of filler bit(s),F₄ is greater than 0, andF ₄ +K ₄ =I ₄, wherein I₄ is a minimum value of code block lengthsgreater than K₄ in a code block length set.
 11. The method according toclaim 9, wherein the code block(s) comprising K₄ bits furthercomprise(s) a quantity F₄ of filler bit(s), F₄ is greater than 0, andF ₄ +K ₄ =I ₄, wherein I₄ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum value in lifting factorsgreater than or equal to ┌K₄/X┐.
 12. The method according to claim 9,wherein the code block(s) comprising K₄ bits further comprise(s) aquantity F₄ of filler bit(s), F₄ is greater than 0, andF ₄ +K ₄ =I ₄, wherein I₄ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum lifting factor that makesI₄ meet I₄≥K₄.
 13. The method according to claim 1, wherein the codeblock length equals to a product of a lifting factor z and a quantity ofinformation-bit-columns in a low-density parity-check (LDPC) base matrixfor encoding each of the code blocks.
 14. The method according to claim1, wherein L=24.
 15. The method according to claim 1, wherein when B≤Z,C=1.
 16. The method according to claim 1, wherein when B≤Z, C=1 and L=0.17. An apparatus, comprising: a memory configured to store programinstructions; and a processor coupled to the memory and configured toexecute the program instructions; wherein, when executed by theprocessor, the program instructions cause the apparatus to: obtain aninput sequence, wherein the input sequence comprises a quantity B ofinformation bits, and B≥1; transform the input sequence into a quantityC of code blocks, wherein C is an integer greater than or equal to 1;and encode each of the C code blocks individually, to obtain C encodedcode blocks; wherein each of the C code blocks has a code block lengthless than or equal to a maximum code block length of Z bits; whereineach of the C code blocks comprises a segment of the input sequence anda quantity L of cyclic redundancy check (CRC) bits corresponding to thesegment of the input sequence; and wherein L is greater than or equal to0.
 18. The apparatus according to claim 17, wherein the quantity of codeblocks C is determined by:C=┌B/(Z−L)┐, where ┌x┐ represents rounding number x to upper integer;wherein at least one of the C code blocks comprises a quantity K₃ ofbits, K₃ is a combined length of the segment of the input sequence andthe L CRC bits, and K₃ is determined by:K ₃=┌(B+C·L)/C┐.
 19. The apparatus according to claim 18, wherein when(B+C·L) is divisible by C, each of the C code blocks comprises K₃ bits.20. The apparatus according to claim 18, wherein the code block(s)comprising K₃ bits further comprise(s) a quantity F₃ of filler bit(s),F₃ is greater than 0, andF ₃ +K ₃ =I ₃, wherein I₃ is a minimum value of code block lengthsgreater than K₃ in a code block length set.
 21. The apparatus accordingto claim 18, wherein the code block(s) comprising K₃ bits furthercomprise(s) a quantity F₃ of filler bit(s), F₃ is greater than 0, andF ₃ +K ₃ =I ₃, wherein I₃ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum value in lifting factorsgreater than or equal to ┌K₃/X┐.
 22. The apparatus according to claim18, wherein the code block(s) comprising K₃ bits further comprise(s) aquantity F₃ of filler bit(s), F₃ is greater than 0, andF ₃ +K ₃ =I ₃, wherein I₃ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum lifting factor that makesI₃ meet I₃≥K₃.
 23. The apparatus according to claim 20, wherein the codeblock(s) comprising K₃ bits, the F₃ filler bit(s) is/are placed afterthe L CRC bits.
 24. The apparatus according to claim 17, wherein thequantity of code blocks C is determined by:C=┌B/(Z−L)┐, wherein when (B+C·L) is divisible by C, at least one of theC code blocks comprises a quantity K₃ of bits, K₃ is a combined lengthof the segment of the input sequence and the L CRC bits, and K₃ isdetermined by:K ₃=(B+C·L)/C.
 25. The apparatus according to claim 17, wherein thequantity of code blocks C is determined by:C=┌B/(Z−L)┐, where ┌x┐ represents rounding number x to upper integer;wherein at least one of the C code blocks comprises a quantity K₄ ofbits, K₄ is a combined length of the segment of the input sequence andthe L CRC bits, and K₄ is determined by:K ₄=└(B+C·L)/C┘, where ┌x┐ represents rounding number x to lowerinteger.
 26. The apparatus according to claim 25, wherein the codeblock(s) comprising K₄ bits further comprise(s) a quantity F₄ of fillerbit(s), F₄ is greater than 0, andF ₄ +K ₄ =I ₄, wherein I₄ is a minimum value of code block lengthsgreater than K₄ in a code block length set.
 27. The apparatus accordingto claim 25, wherein the code block(s) comprising K₄ bits furthercomprise(s) a quantity F₄ of filler bit(s), F₄ is greater than 0, andF ₄ +K ₄ =I ₄, wherein I₄ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum value in lifting factorsgreater than or equal to ┌K₄/X┐.
 28. The apparatus according to claim25, wherein the code block(s) comprising K₄ bits further comprise(s) aquantity F₄ of filler bit(s), F₄ is greater than 0, andF ₄ +K ₄ =I ₄, wherein I₄ is a product of a lifting factor z and a valueX; wherein X is quantity of information-bit-columns in a low-densityparity-check (LDPC) base matrix for encoding each of the code blocks;and wherein the lifting factor z is a minimum lifting factor that makesI₄ meet I₄≥K₄.
 29. The apparatus according to claim 17, wherein the codeblock length equals to a product of a lifting factor z and a quantity ofinformation-bit-columns in a low-density parity-check (LDPC) base matrixfor encoding each of the code blocks.
 30. The apparatus according toclaim 17, wherein L=24.